package Gather.StreamExercise.MethodReference.MethodDome;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;

/**
 * ClassName:LoginJFrame
 * Package:Gather.StreamExercise.MethodReference
 * Description:
 *
 * @Author:ZhangXin
 * @Create2023/2/25-14:16
 * @Version:v1.0
 */


//不继承JFrame而继承MyJFrame
public class LoginJFrame extends MyJFrame  {
    JButton go = new JButton("Go");
    public LoginJFrame() {
        //设置图标
        setIconImage(Toolkit.getDefaultToolkit().getImage("E:\\IDER\\IDEAWorkCode\\IDEADemo\\src\\Gather.StreamExercise.MethodReference\\img\\girl\\logo.jpg"));
        //设置界面
        initJframe();
        //添加组件
        initView();
        //界面显示出来
        this.setVisible(true);
    }

    //添加组件
    public void initView() {
        JLabel image = new JLabel(new ImageIcon("E:\\IDER\\IDEAWorkCode\\IDEADemo\\src\\Gather.StreamExercise.MethodReference\\img\\girl\\kit.jpg"));
        image.setBounds(100, 50, 174, 174);
        this.getContentPane().add(image);


        go.setFont(new Font(null, 1, 20));
        go.setBounds(120, 274, 150, 50);
        go.setBackground(Color.WHITE);


        //b.本类：this::方法名(引用处不能是静态方法)
        //不去实现点击事件的接口而是使用方法引用
        //go.addActionListener(this::method);
        //c.父类：super::方法名(引用处不能是静态方法)
        go.addActionListener(super::method);
        this.getContentPane().add(go);
    }

    public void initJframe() {
        //设置标题
        this.setTitle("随机点名器");
        //设置大小
        this.setSize(400, 500);
        //设置关闭模式
        this.setDefaultCloseOperation(EXIT_ON_CLOSE);
        //设置窗口无法进行调节
        this.setResizable(false);
        //界面居中
        this.setLocationRelativeTo(null);
        //取消内部默认居中放置
        this.setLayout(null);
        //设置背景颜色
        this.getContentPane().setBackground(Color.WHITE);
        this.setAlwaysOnTop(true);

    }


//    public void actionPerformed(ActionEvent e) {
//        Object obj = e.getSource();
//        if (obj ==go){
//            System.out.println("go按钮被点击了");
//        }
//    }
        public void method(ActionEvent e) {
        Object obj = e.getSource();
        if (obj ==go){
            System.out.println("go按钮被点击了");
        }
    }
}
